<template>
  <!-- 放置一个图标 -->
  <div @click="toggleScreen">
    <svg-icon :icon-class="isScreenFull?'exit-fullscreen':'fullscreen'" class="fullscreen" />
  </div>
</template>

<script>
// 内部的原理: html标签对象.requestFullscreen()
// 但是为何我们不直接自己写 而是要使用screenfull这个包
// 因为此方法在不同浏览器名字不同的  所以screengull这个包,把所有的方法自己会做匹配使用
import ScreenFull from 'screenfull'
export default {
  name: 'ScreenFull',
  data() {
    return {
      isScreenFull: false
    }
  },
  created() {
    ScreenFull.on('change', () => {
      // 全屏下检测不到键盘的事件
      this.isScreenFull = ScreenFull.isFullscreen
    })
  },
  methods: {
    // 改变全屏
    toggleScreen() {
      if (!ScreenFull.isEnabled) { // 此时全屏不可用
        this.$message({
          message: '不支持全屏',
          type: 'warning'
        })
        return false
      }
      // document.documentElement.requestFullscreen()  原生js调用
      //   如果可用 就可以全屏
      // 当前是全屏 退出
      // 当前不是全屏 进入
      ScreenFull.toggle()
      this.isScreenFull = !this.isScreenFull
    }
  }
}
</script>

<style lang="scss" scoped>
.fullscreen {
  width: 20px;
  height: 20px;
  color: #fff;
  cursor: pointer;
}
</style>
